package scalaLearning.part1.works

object Test5 {
  def main(args: Array[String]): Unit = {

    val list: List[Any] = List(1, 2, 3, 4, "scala")

    //TODO 将所有Int类型的数字加1返回，非Int类型则过滤(忽略)掉
    //1、方法一：使用map+filter
    val list1: List[Any] = list.filter(f1)
    val list2: List[Int] = list1.map(f3)
    val list3: List[Int] = list2.map(f2)
    println("list3 => " + list3)
  }

  //判断是否是Int类型的方法
  def f1(x: Any): Boolean = {
    x.isInstanceOf[Int]
  }

  //每个元素加1的方法
  def f2(x: Int): Int = {
    x + 1
  }

  //返回值类型转换成Int类型
  def f3(x: Any): Int = {
    x.asInstanceOf[Int]
  }
}
